home *** CD-ROM | disk | FTP | other *** search
- /*
- $VER: InfoList_modrename.dopus 2.92 (95.01.04 18:55:58)
-
- Funktion: Mit Hilfe von Infolist werden alle Einträge auf ihren Dateityp
- getestet. Ist das File ein Musik Modul, wird es nach seinem Internen
- Namen umbenannt. Ist ein File bereits vorhanden, so wird ein Suffix
- "__x" angehangen. "x" steht für die Interation.
-
- Benötigt werden:
- rexxsupport.library, InfoList
- DOpus 4.0+ runing ( nur bei Möglichkeit 1 )
- temporäres Dir "T:"
-
- Aufruf 1, von DOpus gestartet: RX InfoList_modrename.dopus
- Outputwindow
- Es wird dann das aktuelle Window modifiziert
-
- Aufruf 2, vom CLI gestartet: rx InfoList_setcomment.dopus Path
- Als Path muß das zu modifizierende Dir angegeben werden. DOpus wird
- nicht benötigt.
-
- Programmierer: Lutz Hanke, Dorfstr. 43, 01825 Breitenau, Germany
-
- Achtung:
- 1. MED4-8 ist nicht implementiert, da der internen Namen nicht den des
- Module File Namens entspricht.
-
- */
-
- OPTIONS RESULTS
-
- if ~show('l','rexxsupport.library') then do
- if ~addlib('rexxsupport.library',0,-30,34) then exit 20
- end
-
- parse arg arg.1 temp
- if arg.1 = '' then do
- ADDRESS 'DOPUS.1' 'Status 3'
- active = RESULT
- ADDRESS 'DOPUS.1' 'status 13' active
- Quellpath = RESULT
- end
- else do
- Quellpath = arg.1
- end
- Quellpath = strip(Quellpath,'b','"')
-
-
- a = 1
- suf.a = '.as' ; a = a + 1
- suf.a = '.nt' ; a = a + 1
- suf.a = '.readme' ; a = a + 1
- suf.a = '.readme1'; a = a + 1
- suf.a = '.txt' ; a = a + 1
- suf.a = '.txt1' ; a = a + 1
- suf.a = '.txt2' ; a = a + 1
- suf.a = '.txt3' ; a = a + 1
- suf.a = '.txt4' ; a = a + 1
- suf.a = '.lyric' ; a = a + 1
- suf = a - 1
-
-
- ADDRESS 'COMMAND' 'Infolist "'Quellpath'" >t:il files music decrunch lformat %n/%c/%i'
-
- if open('il','t:il') then do
- do while ~EOF('il')
- string = readln('il')
- parse var string name.old'/'comment'/'name.new
- if (pos(':',name.new) = 0) & (pos('/',name.new) = 0) & (pos('"',name.new) = 0) then do
- if name.new ~= '' then do
- select
- when pos('Chiptracker',comment) ~=0 then do ; prefix = 'KRIS.' ; call newname ; end
- when pos('EurekaPacker',comment) ~=0 then do ; prefix = 'EP.' ; call newname ; end
- when pos('FTM mod',comment) ~=0 then do ; prefix = 'FTM.' ; call newname ; end
- when pos('Icetracker',comment) ~=0 then do ; prefix = 'ICE.' ; call newname ; end
- when pos('Multitracker',comment) ~=0 then do ; prefix = 'MTM.' ; call newname ; end
- when pos('Powermusic',comment) ~=0 then do ; prefix = 'mod.' ; call newname ; end
- when pos('Prorunner 1.0',comment) ~=0 then do ; prefix = 'PRun1.' ; call newname ; end
- when pos('ProTracker',comment) ~=0 then do ; prefix = 'mod.' ; call newname ; end
- when pos('Pumatracker 1.0',comment) ~=0 then do ; prefix = 'Puma.' ; call newname ; end
- when pos('Screamtracker',comment) ~=0 then do ; prefix = 'S3M.' ; call newname ; end
- when pos('SoundMonitor 2.0',comment) ~=0 then do ; prefix = 'BP.' ; call newname ; end
- when pos('SoundTracker 2.0',comment) ~=0 then do ; prefix = 'ST20.' ; call newname ; end
- when pos('SoundTracker old',comment) ~=0 then do ; prefix = 'mod.' ; call newname ; end
- when pos('StarTrekker',comment) ~=0 then do ; prefix = 'mod.' ; call newname ; end
- when pos('Unic1Tracker',comment) ~=0 then do ; prefix = 'Unic1.' ; call newname ; end
- when pos('Unic2Tracker',comment) ~=0 then do ; prefix = 'Unic2.' ; call newname ; end
- when pos('Wantonpacker',comment) ~=0 then do ; prefix = 'WP.' ; call newname ; end
- otherwise say 'unknown filetype "'string'"'
- end
- end
- else say 'no rename : "'string'"'
- end
- else say 'error for new name : "'string'"'
- end
- end
-
- call close('il')
-
- exit 0
-
-
- newname:
- if compare(name.old,prefix || name.new) > 0 then do
- say 'rename :' left(name.old,30) prefix || name.new
- if ~rename(Quellpath || name.old,Quellpath || prefix || name.new) then do
- loop = 1
- do while loop ~= 0
- say ' ' loop
- if rename(Quellpath || name.old,Quellpath || prefix || name.new'__'loop) then do
- loop = 0
- end
- else loop = loop + 1
- end
- end
- do a = 1 to suf
- call rename(Quellpath || name.old || suf.a,Quellpath || prefix || name.new || suf.a)
- end
- end
- else say ' equate :' left(name.old,30) prefix || name.new
- return
-
-